Many different computing applications rely on some type of storage medium for the persistent storage of various kinds of application data. For example, common office applications and multimedia applications generate and use application data of various types and formats, such as documents, spreadsheets, still images, audio and video data, among others. Frequently, such data is stored for repeated access or use on behalf of a user. For example, a user may wish to store and work with a number of documents or other data over a period of time, and may expect that the data will be readily available in a predictable state when needed.
In conventional computing systems, the storage medium used by applications for persistent application data storage is most commonly a magnetic fixed drive or “hard drive,” although optical and solid-state storage devices are also used. Such devices are either integrated within a computer system that executes the applications or accessible to that system via a local peripheral interface or a network. Typically, devices that serve as application storage are managed by an operating system that manages device-level behavior to present a consistent storage interface, such as a file system interface, to various applications needing storage access.
Certain network-accessible storage services provide an alternative to the conventional storage. For example, a user may rely on a web service based storage service for much of their storage needs. The storage services may provide flexibility to the user in the form of scalability and reliability. For instance, web service based storage services may relieve users of the burden of managing and upgrading hardware storage resources (e.g., as a result of increased storage demands). Instead, these responsibilities may fall on the service provider. In these cases, instead of paying for actual storage hardware, users may pay the service provider a fee for using the storage service. Typically, web service based storage services offer command sets for non-manipulative actions on data, such as requests to store or retrieve data from the storage service.
While the system and method for performing object-modifying commands in an unstructured storage service is described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that the system and method for performing object-modifying commands in an unstructured storage service is not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit the system and method for performing object-modifying commands in an unstructured storage service to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the system and method for performing object-modifying commands in an unstructured storage service as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.